/**
 * @author chuzhixin 1204505056@qq.com （不想保留author可删除）
 * @description router全局配置，如有必要可分文件抽离，其中asyncRoutes只有在intelligence模式下才会用到，vip文档中已提供路由的基础图标与小清新图标的配置方案，请仔细阅读
 */

import Vue from "vue";
import VueRouter from "vue-router";
import Layout from "@/layouts";
// import EmptyLayout from "@/layouts/EmptyLayout";
import { publicPath, routerMode } from "@/config";

Vue.use(VueRouter);
export const constantRoutes = [
  {
    path: "/login",
    component: () => import("@/views/login/index"),
    hidden: true,
  },
  {
    path: "/register",
    component: () => import("@/views/register/index"),
    hidden: true,
  },
  {
    path: "/401",
    name: "401",
    component: () => import("@/views/401"),
    hidden: true,
  },
  {
    path: "/404",
    name: "404",
    component: () => import("@/views/404"),
    hidden: true,
  },
];

export const asyncRoutes = [
  {
    path: "/",
    component: Layout,
    redirect: "index",
    children: [
      {
        path: "index",
        name: "Index",
        component: () => import("@/views/index/index"),
        meta: {
          title: "首页",
          icon: "home",
          affix: true,
        },
      },
    ],
  },
  /* {
    path: "/test",
    component: Layout,
    redirect: "noRedirect",
    children: [
      {
        path: "test",
        name: "Test",
        component: () => import("@/views/test/index"),
        meta: {
          title: "test",
          icon: "marker",
          permissions: ["admin"],
        },
      },
    ],
  }, */

  {
    path: "/vab",
    component: Layout,
    redirect: "noRedirect",
    name: "Vab",
    alwaysShow: true,
    meta: { title: "任务管理", icon: "box-open" },
    children: [
      {
        path: "log",
        name: "Log",
        component: () => import("@/views/vab/errorLog/index"),
        meta: { title: "错误日志", permissions: ["admin"] },
      },
      {
        path: "permissions",
        name: "Permission",
        component: () => import("@/views/vab/permissions/index"),
        meta: {
          title: "待办事项",
          permissions: ["admin", "editor"],
        },
      },
      // {
      //   path: "icon",
      //   component: EmptyLayout,
      //   redirect: "noRedirect",
      //   name: "Icon",
      //   meta: {
      //     title: "图标",
      //     permissions: ["admin"],
      //   },
      //   children: [
      //     {
      //       path: "awesomeIcon",
      //       name: "AwesomeIcon",
      //       component: () => import("@/views/vab/icon/index"),
      //       meta: { title: "常规图标" },
      //     },
      //     {
      //       path: "colorfulIcon",
      //       name: "ColorfulIcon",
      //       component: () => import("@/views/vab/icon/colorfulIcon"),
      //       meta: { title: "多彩图标" },
      //     },
      //   ],
      // },
      // {
      //   path: "table",
      //   component: () => import("@/views/vab/table/index"),
      //   name: "Table",
      //   meta: {
      //     title: "表格",
      //     permissions: ["admin"],
      //   },
      // },
      // {
      //   path: "map",
      //   component: () => import("@/views/vab/map/index"),
      //   name: "Map",
      //   meta: {
      //     title: "地图",
      //     permissions: ["admin"],
      //   },
      // },

      // {
      //   path: "webSocket",
      //   name: "WebSocket",
      //   component: () => import("@/views/vab/webSocket/index"),
      //   meta: { title: "webSocket", permissions: ["admin"] },
      // },
      // {
      //   path: "form",
      //   name: "Form",
      //   component: () => import("@/views/vab/form/index"),
      //   meta: { title: "表单", permissions: ["admin"] },
      // },
      // {
      //   path: "element",
      //   name: "Element",
      //   component: () => import("@/views/vab/element/index"),
      //   meta: { title: "常用组件", permissions: ["admin"] },
      // },
      // {
      //   path: "tree",
      //   name: "Tree",
      //   component: () => import("@/views/vab/tree/index"),
      //   meta: { title: "树", permissions: ["admin"] },
      // },
      // {
      //   path: "verify",
      //   name: "Verify",
      //   component: () => import("@/views/vab/verify/index"),
      //   meta: { title: "验证码", permissions: ["admin"] },
      // },
      // {
      //   path: "menu1",
      //   component: () => import("@/views/vab/nested/menu1/index"),
      //   name: "Menu1",
      //   alwaysShow: true,
      //   meta: {
      //     title: "嵌套路由 1",
      //     permissions: ["admin"],
      //   },
      //   children: [
      //     {
      //       path: "menu1-1",
      //       name: "Menu1-1",
      //       alwaysShow: true,
      //       meta: { title: "嵌套路由 1-1" },
      //       component: () => import("@/views/vab/nested/menu1/menu1-1/index"),

      //       children: [
      //         {
      //           path: "menu1-1-1",
      //           name: "Menu1-1-1",
      //           meta: { title: "嵌套路由 1-1-1" },
      //           component: () =>
      //             import("@/views/vab/nested/menu1/menu1-1/menu1-1-1/index"),
      //         },
      //       ],
      //     },
      //   ],
      // },
      // {
      //   path: "magnifier",
      //   name: "Magnifier",
      //   component: () => import("@/views/vab/magnifier/index"),
      //   meta: { title: "放大镜", permissions: ["admin"] },
      // },
      // {
      //   path: "loading",
      //   name: "Loading",
      //   component: () => import("@/views/vab/loading/index"),
      //   meta: { title: "loading", permissions: ["admin"] },
      // },
      // {
      //   path: "player",
      //   name: "Player",
      //   component: () => import("@/views/vab/player/index"),
      //   meta: { title: "视频播放器", permissions: ["admin"] },
      // },
      // {
      //   path: "markdownEditor",
      //   name: "MarkdownEditor",
      //   component: () => import("@/views/vab/markdownEditor/index"),
      //   meta: { title: "markdown编辑器", permissions: ["admin"] },
      // },
      // {
      //   path: "editor",
      //   name: "Editor",
      //   component: () => import("@/views/vab/editor/index"),
      //   meta: {
      //     title: "富文本编辑器",
      //     permissions: ["admin"],
      //     badge: "New",
      //   },
      // },
      // {
      //   path: "backToTop",
      //   name: "BackToTop",
      //   component: () => import("@/views/vab/backToTop/index"),
      //   meta: { title: "返回顶部", permissions: ["admin"] },
      // },
      // {
      //   path: "lodash",
      //   name: "Lodash",
      //   component: () => import("@/views/vab/lodash/index"),
      //   meta: { title: "lodash", permissions: ["admin"] },
      // },
      // {
      //   path: "smallComponents",
      //   name: "SmallComponents",
      //   component: () => import("@/views/vab/smallComponents/index"),
      //   meta: { title: "小组件", permissions: ["admin"] },
      // },

      // {
      //   path: "upload",
      //   name: "Upload",
      //   component: () => import("@/views/vab/upload/index"),
      //   meta: { title: "上传", permissions: ["admin"] },
      // },
      // {
      //   path: "https://github.com/Waytoon/chimera_flutter_code_push?utm_source=gold_browser_extension",
      //   name: "ExternalLink",
      //   meta: {
      //     title: "外链",
      //     target: "_blank",
      //     permissions: ["admin", "editor"],
      //     badge: "New",
      //   },
      // },
      // {
      //   path: "more",
      //   name: "More",
      //   component: () => import("@/views/vab/more/index"),
      //   meta: { title: "关于", permissions: ["admin"] },
      // },
    ],
  },
  {
    path: "/personnelManagement",
    component: Layout,
    redirect: "noRedirect",
    name: "PersonnelManagement",
    meta: { title: "客户管理", icon: "users-cog", permissions: ["admin"] },
    children: [
      {
        path: "userManagement",
        name: "UserManagement",
        component: () =>
          import("@/views/personnelManagement/userManagement/index"),
        meta: { title: "用户管理" },
      },
      {
        path: "roleManagement",
        name: "RoleManagement",
        component: () =>
          import("@/views/personnelManagement/roleManagement/index"),
        meta: { title: "角色管理" },
      },
      // {
      //   path: "menuManagement",
      //   name: "MenuManagement",
      //   component: () =>
      //     import("@/views/personnelManagement/menuManagement/index"),
      //   meta: { title: "菜单管理", badge: "New" },
      // },
    ],
  },
  {
    path: "/personnelManagement2",
    component: Layout,
    redirect: "noRedirect",
    name: "PersonnelManagement2",
    meta: { title: "数据看板", icon: "users-cog", permissions: ["admin"] },
    children: [
      {
        path: "userManagement",
        name: "UserManagement",
        component: () =>
          import("@/views/personnelManagement/userManagement/index"),
        meta: { title: "用户数据" },
      },
      {
        path: "roleManagement",
        name: "RoleManagement",
        component: () =>
          import("@/views/personnelManagement/roleManagement/index"),
        meta: { title: "财务数据" },
      },
      // {
      //   path: "menuManagement",
      //   name: "MenuManagement",
      //   component: () =>
      //     import("@/views/personnelManagement/menuManagement/index"),
      //   meta: { title: "菜单管理", badge: "New" },
      // },
    ],
  },
  // {
  //   path: "/mall",
  //   component: Layout,
  //   redirect: "noRedirect",
  //   name: "Mall",
  //   meta: {
  //     title: "商城",
  //     icon: "shopping-cart",
  //     permissions: ["admin"],
  //   },

  //   children: [
  //     {
  //       path: "pay",
  //       name: "Pay",
  //       component: () => import("@/views/mall/pay/index"),
  //       meta: {
  //         title: "支付",
  //         noKeepAlive: true,
  //       },
  //       children: null,
  //     },
  //     {
  //       path: "goodsList",
  //       name: "GoodsList",
  //       component: () => import("@/views/mall/goodsList/index"),
  //       meta: {
  //         title: "商品列表",
  //       },
  //     },
  //   ],
  // },
  // {
  //   path: "/error",
  //   component: EmptyLayout,
  //   redirect: "noRedirect",
  //   name: "Error",
  //   meta: { title: "错误页", icon: "bug" },
  //   children: [
  //     {
  //       path: "401",
  //       name: "Error401",
  //       component: () => import("@/views/401"),
  //       meta: { title: "401" },
  //     },
  //     {
  //       path: "404",
  //       name: "Error404",
  //       component: () => import("@/views/404"),
  //       meta: { title: "404" },
  //     },
  //   ],
  // },
  {
    path: "*",
    redirect: "/404",
    hidden: true,
  },
];

const router = new VueRouter({
  base: publicPath,
  mode: routerMode,
  scrollBehavior: () => ({
    y: 0,
  }),
  routes: constantRoutes,
});

export function resetRouter() {
  location.reload();
}

export default router;
